﻿namespace NoIdeaIoc.Logger;
public interface ILogFactory : ILoggerFactory
{
    /// <summary>
    /// 根据事件源创建日志
    /// </summary>
    /// <param name="eventSource"></param>
    /// <returns></returns>
    ILogger GetLog(string eventSource);
    /// <summary>
    /// 根据事件源创建日志
    /// </summary>
    /// <returns></returns>
    ILogger GetLog<T>();
    /// <summary>
    /// 根据事件源创建日志
    /// </summary>
    /// <returns></returns>
    ILogger<T> GetLogger<T>();
    /// <summary>日志等级，只输出大于等于该级别的日志，默认为最低的Debug</summary>
    LogLevel MinLevel { get; set; }
    /// <summary>
    /// 是否启用日志级别
    /// </summary>
    /// <param name="logLevel"></param>
    /// <returns></returns>
    bool IsEnabled(LogLevel logLevel);
}
